<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>

        // Es6  set 也是一种集合  --- 对象  --- 成员具有唯一性    去重
        // 语法 new Set(数组 / 字符串)
        // 属性和方法
        //    size 
        //    add  remove  has  forEach
        // NaN  NaN添加失败    在js中NaN是一个集合，但是在set中认为NaN只是一个值
        // 数组和set之间的相互转化   Array.from(set)


        // Map ?????????????????


        let arr = [1, 2, 3, 4];
        let s = new Set(arr)
        s.add(5).add(6)
        // s.clear();
        s.delete(6);
        console.log(s.has(16))
        console.log(s);

        s.forEach((v, i) => console.log(v, i))
        s.add(1).add(1)
        console.log(s);
        s.add('6').add(6)
        s.add(NaN).add(NaN)
        console.log(s);
        // let obj = {};
        // obj[10] = 1;
        // obj['10'] = 1
        // console.log(obj);

        let arr1 = [1, 1, 2, 2, 4, 4]
        let s1 = new Set(arr1)
        let arr2 = [...s1]
        console.log(arr2);


        let str = 'hello';
        console.log(new Set(str))
    </script>
</body>

</html>